package com.twobu.twobuinsight.service;

import com.twobu.twobuinsight.dto.LoginRequest;
import com.twobu.twobuinsight.dto.LoginResponse;
import com.twobu.twobuinsight.dto.UserInfoResponse;
import com.twobu.twobuinsight.security.UserContext;

public interface AuthService {

    /**
     * 用户登录
     */
    LoginResponse login(LoginRequest loginRequest);

    /**
     * 验证token
     */
    UserContext validateToken(String token);

    /**
     * 刷新token
     */
    LoginResponse refreshToken(String token);

    /**
     * 退出登录
     */
    void logout(String token);

    /**
     * 获取当前用户信息
     */
    UserInfoResponse getCurrentUserInfo(Long userId);
}
